The present claimed invention relates to the field of communications. In particular, the present claimed invention relates to an apparatus and a method for configuring a configurable electronic device.
Wireless communication has extensive applications in consumer and business markets. Spread spectrum techniques are gaining more popularity as a method off transmission in a wireless communication system. Among the many spread spectrum communication applications/systems are: fixed wireless, unlicensed (FCC) wireless, local area network (LAN), cordless telephony, personal base station, telemetry, mobile wireless, and other digital data processing applications. While each of these applications utilizes spread spectrum communications, they generally utilize unique and incompatible protocols for various signal processing operations, e.g., encoding and decoding, modulation and demodulation, etc. These unique and incompatible protocols often require unique hardware, software, and methodologies for the communication protocol. This practice can be costly in terms of design, testing, manufacturing, and infrastructure resources.
Besides the variation between spread spectrum communication applications, substantial variations occur over time within a given spread spectrum communication application. For example, within the code division multiple access (CDMA) cellular spread spectrum wireless application, significant changes have occurred over time. These changes take the form of a proliferation of different versions and performance levels, e.g., Interim Standard-95 (IS-95) CDMA, wideband CDMA (WCDMA), 3GPP, etc. And the pace at which improvements and new standards arise is increasing as more industry resources are focused on the needs and opportunities in this wireless communication. Unfortunately, all these factors result in minimal uniformity around the world at any one given point in time. For example, different countries and different service providers frequently use systems that are uniquely dedicated to their specific version of a communication protocol.
If a single device were capable of overcoming the variations in spread spectrum communication protocols and the variations within each protocol over time, then it could offer a common solution. Such a device would have to be substantially xe2x80x98general purposexe2x80x99 in nature in order to accommodate such a wide variation in functions and applications. However, such a general-purpose device would typically be unable to perform any one of the various applications on its own behalf, e.g., in its manufactured state. This is an entirely expected tradeoff of generality in design for diversity in potential application. Consequently, a need arises for a method to overcome the limitations of a general-purpose spread spectrum device in order to perform a specific spread spectrum application.
Given the intrinsic ambiguity of a general-purpose spread spectrum device, a significant amount of external control will be available for tailoring it to a specific application. While a user could provide external control to the general purpose spread spectrum device manually, it would be time-consuming and inefficient. Furthermore, given the complexity of a general purpose device needed to enable it to perform a wide range of complicated and computationally intensive algorithmic data processing operations, the success of such a manual process would be improbable. Consequently, a need arises for a method to overcome the limitations of manually programming a general-purpose spread spectrum device.
Additionally, given the high quantity of variables and subcomponents in such a device, many different combinations and permutations of hardware linking and variable assignments would be possible. Thus it would be highly likely that errors, glitches, disoperation, or even inoperability would arise. Additionally, other complicated issues such as proper timing and sequencing, memory addressing, and tailoring algorithmic assignments for a general purpose spread spectrum device would prove to be a formidable task. Consequently, a need arises for a method to overcome the problems of working with an entire set of possible combinations and permutations of hardware sequencing and variable assignments.
Even if it was possible to successfully set up the general-purpose device for a specific application, verification of the setup might be difficult. For example, a device may be able to perform acceptably in one scenario of variables. However, this performance may not guarantee the successful operation of the device in a different scenario. Consequently, a need arises for a method and apparatus to verify and simulate the operation of the general purpose device receiving external control for a specific application.
The present invention provides a method and apparatus that overcomes the limitations of a general-purpose spread spectrum device in order to perform a specific spread spectrum application. Additionally, the present invention provides a method that efficiently manages external control of a general purpose spread spectrum device such that it can perform a specific application. Furthermore, the present invention provides a solution that overcomes the problems of working with an entire set of possible combinations and permutations of hardware sequencing and variable assignments for the general purpose spread spectrum device. The present invention also provides a method and apparatus to verify and simulate the operation of the general-purpose device, which received external control for a specific application.
In particular, the present invention provides an apparatus and method that generates a configuration for a configurable spread spectrum device. The method, implemented on a computing device having a processor and a computer readable memory, starts with a first step of receiving an input identifying a desired function, and a desired operation within the desired function, to be implemented by a configurable communication device. In a subsequent step, a signal flow path for the desired operation is generated by the computing device. Next, the desired operation is mapped onto a computing element, or set of computing elements, within the configurable communication device. The computing element in the present embodiment has localized control and is function-specific. The aforementioned steps are repeated to satisfy multiple operations required to enable the desired function. Next, a configurable interconnect of the configurable electronic device is configured to enable the signal flow path and mapping operations across a computing element for each of the multiple operations which together, enable desired function.
A second embodiment of the present invention provides an electronic device with a processor and a computer readable memory coupled to the processor. The electronic device contains instructions and data stored on the computer readable memory that, when executed using the processor enables the aforementioned method of the first embodiment. The method and apparatus for providing configuration information to a configurable communication device is referred to in one embodiment as a programming interface.
These and other objects and advantages of the present invention will become apparent to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments, which are also illustrated in the various drawing figures.